/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;
import entidad.Categoria;
import java.sql.*;
import java.util.Vector;
/**
 *
 * @author Administrador
 */
public class ConsultasCategoria{
private Connection con;

public Vector<Categoria> leerVariosCategoria() throws SQLException{
Vector<Categoria> datos=new Vector<Categoria>();
Categoria reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosCategoria() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Categoria();
reg.setIdCategoria(rs.getInt(1));
reg.setNombre(rs.getString(2));
datos.add(reg);
}//end while
return datos;


}

public Vector<Categoria> HLleerVariosCategoria(Categoria val) throws SQLException{
return leerVariosCategoria();
}

public boolean modificarCategoria(int idCategoria, String nombre) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarCategoria(?,?) ");
proc.setInt(1, idCategoria);
proc.setString(2, nombre);
proc.execute();
return exitoOperacion;


}

public boolean HLmodificarCategoria(Categoria val) throws SQLException{
return modificarCategoria(val.getIdCategoria(), val.getNombre());
}

public boolean eliminarCategoria(int idCategoria) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarCategoria(?) ");
proc.setInt(1, idCategoria);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarCategoria(Categoria val) throws SQLException{
return eliminarCategoria(val.getIdCategoria());
}

public void setConexion(Connection con) {
this.con=con;
}

public Categoria nuevoCategoria(String nombre) throws SQLException{
Categoria reg=new Categoria();

PreparedStatement proc=con.prepareStatement(
"call nuevoCategoria(?) ");
proc.setString(1, nombre);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdCategoria(rs.getInt(1));
reg.setNombre(rs.getString(2));
}else reg=null;
return reg;


}

public Categoria HLnuevoCategoria(Categoria val) throws SQLException{
return nuevoCategoria(val.getNombre());
}

public Categoria leerCategoria(int idCategoria) throws SQLException{
Categoria reg=new Categoria();

PreparedStatement proc=con.prepareStatement(
"call leerCategoria(?) ");
proc.setInt(1, idCategoria);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdCategoria(rs.getInt(1));
reg.setNombre(rs.getString(2));
}else reg=null;
return reg;


}

public Categoria HLleerCategoria(Categoria val) throws SQLException{
return leerCategoria(val.getIdCategoria());
}


}// FIN CLASE: ConsultasCategoria